from django.shortcuts import render

# Create your views here.


#  请求方式： GET /users/usernames/(?P<username>\w{5,20})/count/
from rest_framework.response import Response
from rest_framework.views import APIView

from users.models import User
from users.serializers import ResgisterUserAPIViewSerializer


class RegisterUserNamesAPIView(APIView):

    def get(self,request,username):
        '''

        1 判断用户是否在数据库中有数据
        2 查询返回０或者个数
        3　返回结果
        '''
        count = User.objects.filter(username=username).count()

        data = {

            'count':count,
            'username':username
        }

        return Response(data)

'''
注册实现　
１　请求方式　ｐｏｓｔ　参数　用户名　密码１　密码２　手机号　短信验证码　ａｌｌｏｗ协议
２　涉及到数据库使用保存　
３　因为需要验证　序列化器中验证　字段可以使用自动生成字段验证　因为有些数据是前端传入进来的　只进行校验　不需要保存到数据库中
　　所以　write_only 　还有些　字段是数据　生成里面的不需要外面进行修改　read_only
４　验证完成就进行保存　返回数据　ｕｓｅｒｎａｍｅ——ｉｄ　ｕｓｅｒｎａｍｅ　

'''


class ResgisterUserAPIView(APIView):

    def post(self,request):

        data = request.data

        serializer = ResgisterUserAPIViewSerializer(data=data)
        serializer.is_valid(raise_exception=True)

        serializer.save()
        user = User.objects.get(username=data.get('username'))




        return Response({
            'username':serializer.data.get('username'),
            'user_id':user.id,
        })
'''
登陆实现
请求方式　ｐｏｓｔ　
首先用户名　密码　
验证　
返回数据　username user_id token
django　的jwt模块提供了登陆认证
无须自己写

'''
#
# class RegisterfUserToken(APIView):
#
#     def post(self,request):

